.TH std::multiplies 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::multiplies \- std::multiplies

.SH Synopsis
   Defined in header <functional>
   template<>                      \fI(since C++14)\fP
   class multiplies<void>;

   std::multiplies<void> is a specialization of std::multiplies with parameter and
   return type deduced.

.SH Member functions

   operator() returns the product of two arguments
              \fI(public member function)\fP

std::multiplies<void>::operator()

   template< class T, class U >

   constexpr auto operator()( T&& lhs, U&& rhs ) const

       -> decltype(std::forward<T>(lhs) * std::forward<U>(rhs));

   Returns the product of lhs and rhs.

.SH Parameters

   lhs, rhs - values to multiply

.SH Return value

   std::forward<T>(lhs) * std::forward<U>(rhs).

.SH Example


// Run this code

 #include <complex>
 #include <functional>
 #include <iostream>

 int main()
 {
     auto complex_multiplies = std::multiplies<void>{}; // “void” can be omitted
     constexpr std::complex z1{1.0, 2.0}, z2{3.0, 4.0};

     std::cout << std::showpos
               << complex_multiplies(z1, z2) << ' ' << z1 * z2 << '\\n'
               << complex_multiplies(z1, 5.) << ' ' << z1 * 5. << '\\n'
               << complex_multiplies(5., z1) << ' ' << 5. * z1 << '\\n';
 }

.SH Output:

 (-5,+10) (-5,+10)
 (+5,+10) (+5,+10)
 (+5,+10) (+5,+10)
